Method and system for virtual inventory management

ABSTRACT

Methods and systems for virtually managing product inventory from an application on a smart device through at least one of a bar code scanning feature, an integration of a virtual toolbox component and a shopping cart component, and a checkout selection option to request a purchase order associated with a user token authorization.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of U.S. patentapplication Ser. No. 15/612,237, filed Jun. 2, 2017, entitled VIRTUALINVENTORY MANAGEMENT TOOLS AND METHODS OF USE, now allowed, which claimsthe benefit of U.S. Provisional Patent Application Ser. No. 62/369,389,filed Aug. 1, 2016, entitled VIRTUAL INVENTORY MANAGEMENT TOOLS ANDMETHODS OF USE, the disclosures of which are hereby incorporated hereinby reference.

TECHNICAL FIELD

The present specification generally relates to tools to virtually manageproduct inventory from a smart device software application and, morespecifically, to tools to virtually manage product inventory from asmart device software application through an integration of a virtualtoolbox component and a virtual shopping cart component, a bar codescanning feature, and/or a checkout selection option to request apurchase order associated with a user token authorization, and methodsof use of such tools.

BACKGROUND

Users may utilize a vendor or manufacturer website to order products tomanage inventory at, for example, a personal computer. However, userstypically search for a specific product on the website, enter a quantityto order, and checkout to process the order, or separately wait tocheckout the order until obtaining a purchase order approval.

Accordingly, as the above steps are disjointed and dependent on usersearch and input, a need exists for alternative tools to streamline theinventory management process and methods of use of such tools.

SUMMARY

According to the subject matter of the present disclosure, and in oneembodiment, a method for virtually managing product inventory from anapplication on a smart device through at least one of a bar codescanning feature, an integration of a virtual toolbox component and ashopping cart component, and a checkout selection option to request apurchase order associated with a user token authorization as shown anddescribed herein is within the scope of the disclosure.

In accordance with one embodiment of the present disclosure, a methodfor virtually managing a product inventory from an application on asmart device may include receiving a login to the application on agraphical user interface (GUI) of the smart device by a user, whereinthe application includes a virtual toolbox; receiving a user tokenauthorization based on the login; selecting a product from a list ofproducts to generate a selected product associated with the user tokenauthorization; adding an order quantity of the selected productassociated with the user token authorization to a virtual shopping cartas an order, wherein the order quantity is based at least in part on amaximum stock level. The list of products generated by at least one of aproduct search option in the virtual toolbox, the virtual toolboxconfigured to store one or more products from the product inventory, anonline catalog option via the virtual toolbox, or a bar code scanningfeature of the virtual toolbox configured to scan a bar code of anassociated product. The virtual shopping cart is configured forintegration with the virtual toolbox such that selection of the selectedproduct from the virtual toolbox is configured to generate an option toauto-populate the virtual shopping cart with the selected product.

In accordance with another embodiment of the present disclosure, asystem for virtually managing product inventory from an application on amobile smart device may include a server and the mobile smart device.The mobile smart device may include a processor communicatively coupledto the server and a non-transitory computer-readable memory storinginstructions that, when executed by the processor and through theapplication, cause the processor to: receive a login to the applicationon a graphical user interface (GUI) of the smart device by a user,wherein the application includes a virtual toolbox; receive a user tokenauthorization based on the login; select a product from a list ofproducts to generate a selected product associated with the user tokenauthorization; add an order quantity of the selected product associatedwith the user token authorization to a virtual shopping cart as anorder, wherein the order quantity is based at least in part on a maximumstock level. The list of products generated by at least one of a productsearch option in the virtual toolbox, the virtual toolbox configured tostore one or more products from the product inventory, an online catalogoption via the virtual toolbox, or a bar code scanning feature of thevirtual toolbox configured to scan a bar code of an associated product.The virtual shopping cart is configured for integration with the virtualtoolbox such that selection of the selected product from the virtualtoolbox is configured to generate an option to auto-populate the virtualshopping cart with the selected product.

These and additional features provided by the embodiments describedherein will be more fully understood in view of the following detaileddescription, in conjunction with the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The embodiments set forth in the drawings are illustrative and exemplaryin nature and not intended to limit the subject matter defined by theclaims. The following detailed description of the illustrativeembodiments can be understood when read in conjunction with thefollowing drawings, where like structure is indicated with likereference numerals and in which:

FIG. 1 is a flow chart of a process for recommending an order quantityof a selected product through a smart device application based on amaximum stock level and a current inventory level associated with theproduct, according to one or more embodiments shown and describedherein;

FIG. 2 is a flow chart of a process for adding a product order quantityassociated with a user token authorization to a virtual shopping cartand selecting options to process the order, according to one or moreembodiments shown and described herein;

FIG. 3 is an example flow of screenshot views of a home navigationcontroller associated with the smart device application of FIGS. 1and/or 2 to virtually manage inventory, according to one or moreembodiments shown and described herein;

FIG. 4 is an example flow of screenshot views of a search navigationcontroller associated with the smart device application of FIGS. 1and/or 2 to virtually manage inventory, according to one or moreembodiments shown and described herein;

FIG. 5 is an example flow of screenshot views of a virtual shopping cartnavigation controller associated with the smart device application ofFIGS. 1 and/or 2 to virtually manage inventory, according to one or moreembodiments shown and described herein;

FIG. 6 is an example flow of screenshot views of a virtual toolboxnavigation controller associated with the smart device application ofFIGS. 1 and/or 2 to virtually manage inventory, according to one or moreembodiments shown and described herein;

FIG. 7 is a screenshot view of an example maximum stock level selectionfeature to add a maximum stock level to a virtual toolbox associatedwith the smart device application of FIGS. 1 and/or 2, according to oneor more embodiments shown and described herein;

FIG. 8 is a screenshot view of an example item addition feature to add aproduct to a virtual toolbox associated with the smart deviceapplication of FIGS. land/or 2, according to one or more embodimentsshown and described herein;

FIG. 9 is a screenshot view of an example listing of items in a virtualtoolbox associated with the smart device application of FIGS. 1 and/or2, according to one or more embodiments shown and described herein;

FIG. 10 is a screenshot view of an example item from the virtual toolboxof FIG. 9 to add to a virtual shopping cart associated with the smartdevice application of FIGS. land/or 2, according to one or moreembodiments shown and described herein;

FIG. 11 is a screen shot view of an example item list in a virtualshopping cart associated with the smart device application of FIGS. 1and/or 2, according to one or more embodiments shown and describedherein;

FIG. 12 is a screenshot view of an example purchase order requestfeature selectable from a virtual shopping cart associated with thesmart device application of FIGS. 1 and/or 2, according to one or moreembodiments shown and described herein;

FIG. 13 is a screenshot view of the example purchase order requestfeature of FIG. 12 with a select from contacts option selected,according to one or more embodiments shown and described herein;

FIG. 14 schematically illustrates a system for implementing computer andsoftware based methods to utilize the tools of FIGS. 1 and/or 2,according to one or more embodiments shown and described herein; and

FIG. 15 is a flow chart of a process for managing a user tokenauthorization for virtual inventory management, according to one or moreembodiments shown and described herein.

DETAILED DESCRIPTION

Referring generally to the figures, embodiments of the presentdisclosure are directed to tools for virtually managing productinventory from an application on a smart device through at least one ofa bar code scanning feature, an integration of a virtual toolboxcomponent and a shopping cart component, and a checkout selection optionto request a purchase order associated with a user token authorization,including a secure order checkout process. The smart device may be aniOS device or Android device, for example. Further, as will be describedin greater detail below, the smart device application may be linked tomonitoring data generated by sensors associated with a robot to notify auser about a need to re-order parts on a manufacturing process line. Forexample, the robot may be a gripper that is part of a manufacturingprocess that monitors an associated tool or product handled by thegripper to notify an operator of tool malfunction of the associated toolduring the manufacturing process. Notification of the tool malfunctionmay also trigger an order of the tool or malfunctioning tool componentswithin the application tool to virtually manage inventory as describedherein. Reference will now be made in detail to embodiments of the toolsto virtually manage product inventory from an application on a smartdevice, examples of tools and systems are illustrated in theaccompanying drawings. Wherever possible, the same reference numeralswill be used throughout the drawings to refer to the same or like parts.Various embodiments of the tools will be described in further detailherein with specific reference to the appended drawings.

In an embodiment, an application tool as described herein includes fourmain navigation controller based routes, with each route linked to a tabicon at, for example, a footer of the application tool. A home tab is amain application starting page that welcomes the user and provides linksto other application routes. A search tab allows the user to search forproducts to order as described herein by either, for example, scanning abarcode, by entering text into an input field, or by browsing an onlinecatalog mobile website. A myToolBox tab displays a list of items thathave been added to a virtual toolbox to allow the user to select an itemand update an associated maximum stocking level. The virtual toolboxassists a user with keeping records of components over time, such as ahistory of previous orders and/or a usage history, product detail, andthe like. Further, a cart tab displays a list of items that have beenadded to a virtual shopping cart. The user may request purchase ordersfrom the virtual shopping cart, update or remove cart items, and/orcheckout from the cart tab section. The requested purchase orders may besent to an email designated by the user for approval along with a URLincluding the user authentication token as described in greater detailbelow. Once a purchase order is approved, the approver may continue toprocess the order and checkout on behalf of the user using the userauthentication token, or the user may receive the approved purchaseorder and continue the checkout process. Thus, the application toolallows users to access, manage inventory, and/or purchase products withease in a streamlined manner while providing links and a seamlessintegration with a vendor and/or manufacturer's mobile online catalogwebsite to assist the user with finding detailed product specificationinformation as well as downloadable product CAD models.

The navigation controllers described herein may be view controllers thatare a foundation of the application tools. Each view controller managesa portion of a user interface of the application tools described hereinand the interactions between underlying data and the user interface aswell as facilitating transitions between different user interface parts.The view controllers may manage a hierarchy of views and be content orcontainer view controllers. Content view controllers manages a discretepart of the content of the application tools described herein (includingroot and subset views) while container view controllers manages its ownand other views by collecting other controller information (i.e., fromchild view controllers) to facilitate navigation or differently presentthe content of those child view controllers. In embodiments, thenavigation controllers described herein act as view controllers thatfacilitate and manage interactions between managed views and dataassociated with the application tools. Such data may be stored as customdata objects, for example, managed by a document controller object thatreads and writes data to storage such that the document controllerobject owns the data while the view controllers may store a copy of thedata received to more easily update views. While in non-limitingexamples described herein, the navigation/view controllers are iOSspecific, and similar windows, tabs, view, and functions may be providedvia Android and/or Windows OS implementation.

An example of the virtual shopping cart component of the applicationthat is integrated with the application as described herein may be, forexample, OPENCART, an open source shopping cart system for e-commerceonline ordering systems. The application tool described herein utilizesan application program interface (“API”) to integrate with OPENCART, forexample, and to put and get data from the OPENCART database via HTTPSrequests. The data is sent to the API is Java Script Object Notation(“JSON”) format and is returned to the application in JSON format. Inembodiments, the application may be able to launch 3D models ofassociated products from the application within another applicationmeant to visually display the 3D model, as described in U.S. ProvisionalPatent App. No. 62/324,579, filed Apr. 19, 2016, entitled “ThreeDimensional Launch Tools and Methods of Use,” and which iscommonly-owned and incorporated by reference in its entirety herein.Non-limiting examples of the 3D models may include, for example,computer-aided design (“CAD”) files, computer-aided engineering (“CAE”)files, computer-aided manufacturing (“CAM”), and/or other likecomputer-aided three-dimensional files. These 3D models may be viewablein software applications such as CAD software. Other softwareapplications to view the 3D models may include applications that permitviewing, management, and/or manipulation of the 3D models. An example ofsuch a viewing software application is the cloud-based tool FUSION 360™by AUTODESK®, which is a 3D CAD, CAM, CAE tool that connects a productdevelopment process through a cloud-based platform.

Referring to FIG. 1, a flow chart of a process 100 for recommending anorder quantity of a selected product through a smart device applicationbased on a maximum stock level and a current inventory level associatedwith the product is shown. Thus, FIG. 1 is representative of at least aportion of a method for virtually managing a product inventory from anapplication on a smart device, the method including enteling a login tothe application on a graphical user interface (GUI) of the smart deviceby the user and receiving a user token authorization based on the login.For example, in step 102, a user may login to a virtual inventorymanagement application on a smart device to receive a user tokenauthorization. Upon approval of the login information, the systemassociates a user token authorization with the user. Information withrespect to the authentication process, management, and operation of theuser token authorization (e.g., a token for token authentication) isdescribed in greater detail further below with respect to FIG. 15.

The user may login in step 102 to a screen through a login viewcontroller 226 of the application, as shown in FIG. 3. For example, FIG.3 shows an activation process 220 associated with step 102 of FIG. 1, inwhich a home navigation controller 222 (FIG. 3) navigates the user, whomay be launching the application and/or has selected a home icon 275, toa home screen 224. The home screen 224 may be controlled by a home viewcontroller and may include company information, a welcome message, aproduct search option, an online catalog option, a virtual toolboxoption (such as “myToolBox” as shown in FIG. 3), and/or a log option. Alog option may be “login” option for a user logging in or may be a“logout” option for a user logging out of the application. A login viewcontroller 226 shows a user a screen from which to login into theapplication, which requests a user identification and password. A usermay also be able to register for an account and/or retrieve a forgottenidentification and/or password through the login view controller 226. Auser may also access, through the home screen or another screen, supportinformation, including sales information, customer service contactand/or help manual information, and other such technical assistanceinformation.

A user selecting the product search option or online catalog option onthe home screen 224 of FIG. 3 may be further directed by a searchcontrol process 230 as shown in FIG. 4. For example, a search navigationcontroller 232 may direct the user to a search screen 234 controlled bya search view controller. The search screen 234 may include searchoptions such as search by product name and/or number, browse onlinecatalog, and scan barcode. The user, for example, may utilize anassociated bar code scanner feature 330 (FIG. 14) to scan a physicalproduct 332 (FIG. 14), for which scanned product information may beretrieved as search results and displayed on a results screen throughthe search results view controller 236 (FIG. 4). Such information mayalso be displayed after the user searches for and selects a product froman online catalog. Product information such as a product name and/orproduct part number may be displayed to the user, for example.

Referring back to FIG. 1, the method of the process 100 may includeselecting a product from the product inventory to generate a selectedproduct associated with the use token authorization. The product may beselected from one or more search options on the GUI. As described ingreater detail further below, the one or more search options may includea product search option in a virtual toolbox of the application that isconfigured to store one or more products from the product inventory, anonline catalog option, and a bar code scanning feature configured toscan a bar code associated with the selected product.

In step 104, detail of a selected product in the application isreceived, and such product detail may include product informationdisplayable to the user. The method of the process 100 may furtherinclude selecting an option to receive detail of the selected product onthe GUI, which detail may include at least one of a product name, aproduct part number, a product image, and a product price. For example,a product details view controller 238, as shown in FIG. 4, may displayproduct detail information such as a price of the product, an orderquantity option to input an amount of the selected product to order, arecommend quantity option and/or a select maximum quantity option (bothof which will be described in greater detail below), an open in awebsite browser option (to open an associated vendor and/or manufacturerwebsite, for example), an add to a virtual toolbox option, and an add tocart option. The user may also be shown a product image, an associatedCAD model file that may be emailed to the user as described in U.S.Provisional Patent App. No. 62/324,579, which is commonly-owned andincorporated by reference in its entirety above], and a back option toreturn back to the search screens to search for different and/oradditional products.

Referring back to FIG. 1, the method of the process 100 may includereceiving detail of a maximum stock level associated with the selectedproduct. The maximum stock level associated with the selected productmay be configured to be input by a user or may be retrieved from storagein a memory of the smart device, for example. For example, in step 106,a maximum stock level associated with the selected product may be set orretrieved. For example, the product details view controller 238 of FIG.4 includes a max quantity option. A stored maximum stock levelassociated with the selected product may be retrieved through thisoption. The maximum stock level may be set by a user through, forexample, a virtual toolbox, as will be described in greater detail belowwith respect to FIGS. 6-7.

The product details view controller 238 of FIG. 4 also includes arecommend quantity option, which is a based on a current inventory levelof the selected product and the maximum stock level. The method of theprocess 100 may further include receiving detail of a current inventorylevel associated with the selected product. The current inventoryassociated with the selected product may be configured to be input by auser or may be retrieved from storage in a memory of the smart device.For example, in step 108 of FIG. 1, a current inventory level of theselected product is received. A user may be prompted to input thecurrent inventory level. Further, the method of the process 100 mayfurther include generating a recommended order quantity as the orderquantity based on the maximum stock level and the current inventorylevel Instep 110 of FIG. 1, an order quantity based on the maximum stocklevel of step 106 and the current inventory level of step 108 isrecommended to a user. The recommended order quantity may berepresentative of an amount of the selected product that the user shouldorder to restock and manage inventory of an associated product. Forexample, the recommended order quantity would be the maximum stock levelof step 106 less the current inventory level of step 108. As anon-limiting example, a selected product may have a maximum stock levelof 10 that is retrieved and/or set in step 106, a current inventorylevel of 2 that is received in step 108, and the recommended orderquantity would be 8 (the maximum stock level of 10 less the currentinventory level of 2).

FIG. 2 illustrates a flow chart of a process 200 including a step 202for adding a product order quantity associated with a user tokenauthorization to a virtual shopping cart along with steps 204-210 forselecting options to process the order. Thus, FIG. 2 is representativeof at least a portion of a method for virtually managing a productinventory from an application on a smart device, the method includingadding an ordering quantity of the selected product associated with theuser token authorization to a virtual shopping cart as an order. Theorder quantity may be a user set quantity or the recommended orderquantity of step 110 of FIG. 1.

For example, the recommended order quantity of step 110 may be added toa virtual shopping cart and/or toolbox. The virtual shopping cart may beconfigured for integration with the virtual toolbox such that selectionof the selected product from the virtual toolbox is configured togenerate an option to auto-populate the virtual shopping cart with theselected product.

Referring back to FIG. 4, the product details view controller 238 ofFIG. 4 includes an add to cart (i.e., a virtual shopping cart) alongwith an add to myToolBox option. When the recommended quantity isdetermined and/or the order quantity for the selected product is set,the user may select the add to cart option to add the product and theassociated order quantity to the virtual shopping cart.

FIG. 5 illustrates a virtual shopping cart control process 240 includinga cart navigation controller 242 that directs a user to a cart viewcontroller 244, which controls display of a cart screen including theselected product in the virtual shopping cart along with productinformation such as the product name, part number, and/or orderquantity. The cart screen may include a list of selected products.

Selecting one of the selected products may cause a cart details viewcontroller 246 to present the user with a screen including furtherdetails of the selected product in addition to product name and partnumber. The cart details view controller 246 may further allow a user tomodify the order quantity as described above through a recommendquantity option, a max quantity option, or a set order quantity fieldoption. Furthermore, if the selected product is not in the virtualtoolbox, the user may select an option to add the product to the virtualtoolbox. Thus, a method of the process 100 and/or the process 200 mayinclude adding the selected product to the virtual toolbox of theapplication when the selected process is not found within the virtualtoolbox.

The user may utilize an update button to update the order and the backbutton to return to the previous screen. Additionally or alternatively,the user may swipe the screen to the left to return to the previousscreen, swipe the screen upwards to update the order, and/or swipe thescreen to the right to go to the detailed product information screen forthe next listed selected product. While swipe directions are describeabove with respect to associated operations, it is within the scope ofthis disclosure that any swipe direction (left, right, up, or down) maybe associated with any of the options described herein. Further, otherforms of interactive application methods may be used, such as tappingthe screen to edit items and/or swiping within other screens of theapplication. For example, swiping to the left may remove an item fromthe virtual shopping cart or the virtual toolbox, or swiping left orright may allow a user to view and access product detail informationscreen page by screen page.

A user may select a virtual toolbox option to activate a virtual toolboxcontrol process 250, as shown in FIG. 6, in which a toolbox navigationcontroller 252 directs the user to a virtual toolbox view controller254. The virtual toolbox view controller 254 controls a toolbox screenthat lists information of one or more products in the virtual toolboxsuch as product name and/or part number. Selection of one of the one ormore listed products directs the user, through a virtual toolbox detailsview controller 256, to a product detail view screen listing informationof the selected listed product and associated options. For example,information such as a listed product name, part number, price, stocklevel status (at the vendor and/or manufacturer site), an open in webbrowser option (to link to the vendor and/or manufacturer site), andmaximum stock level status (i.e., an adjustable quantity) may bedisplayed to a user. The user may select an add to cart option (as shownin FIG. 6) to add a selected listed product from the virtual toolboxinto the virtual shopping cart (either selecting an amount to order, orutilizing the cart details view controller 246 of FIG. 5 to set and/orrecommend an order quantity as described above).

Referring to FIG. 7, the user may adjust the maximum stock level orquantity by being prompted by a virtual toolbox controller screen 260 toenter a maximum stock level into a box 262. From the screen 260, theuser may also add the selected product to the virtual toolbox through anadd button option 263. For example, as shown in FIG. 8, adding aselected product (such as the product shown on the screen 261 or thescreen 264) to the virtual toolbox through the add button option 263 maylaunch a user notification 265 that the item has been added.

The virtual toolbox may display a list of added products. For example,FIG. 9 displays a screenshot view 270 of an example listing of productsor items 271, 272, 273, and 274 in the virtual toolbox. At the footer orbottom of the screenshot view 270 are selectable icons such as a homeicon 275, a search icon 276, a virtual toolbox (“myToolBox”) icon 277,and a cart icon 278, any one of which a user may select to return to theassociated navigation controllers, as described above with respect toFIGS. 3-6. In embodiments, a user may select one of the listed items271-274 from the virtual toolbox to launch a detailed productinformation page from which to add the selected item/product into thevirtual shopping cart. For example, a user may select the item 271 inFIG. 9 to launch a detailed product information page 280 as shown inFIG. 10 and associated with the item 271. The detailed productinformation page 280 may include a product image and list the productname of the item 271, an associated part number, price, availabilityinformation, an option 281 to open product information within anassociated web browser, an adjustable maximum stock level 282, and addto cart option 283. A user may select the add to cart option 283 to addthe selected product from the virtual toolbox to the item list of thevirtual shopping cart screen 284 of FIG. 11, for example. Once the userhas built a desired list of items in the virtual shopping cart screen284, the user may continue with processing the order. In an embodiment,the desired list of items may provide separate pricing information and atotal pricing that may be saved and/or emailed to the user or anotherindividual as, for example, a quote. The cart icon 278 may also includea number indicative of an amount of products in the item list of thevirtual shopping cart screen 284.

Referring back to FIG. 2, in step 204, a user may select a checkoutoption to process the order in the cart through a secured process or mayselect a purchase order approval option. The method of the process 100and/or 200 may include selecting a checkout option prior to processingthe order or selecting a purchase order approval option to receive apurchase order approval prior to processing the order. For example,referring to FIG. 5, the cart view controller 244 of the virtualshopping cart control process 240 displays such a “Request PO” (i.e.,purchase order) option and a “Checkout” option. Similarly, the virtualshopping cart screen 284 of FIG. 11 displays a Checkout option 287 and aRequest PO option 288. A user may opt to checkout with the desired order(such as through the Checkout option 287) or select a purchase orderapproval option (such as through the Request PO option 288).

The method of the process 100 and/or 200 may further include, uponselecting a purchase order approval option to receive a purchase orderapproval prior to processing the order, selecting a purchase orderapproval contact, sending a purchase order approval request to thepurchase order approval contact, and receiving the purchase orderapproval associated with the user token authorization from the purchaseorder approval contact. For example, if the user selects the purchaseorder approval option, the user may continue to step 206 of FIG. 2, inwhich the user selects or enters a purchase order approval contactemail. For example, after selection of the Request PO option 288 of FIG.11, a user may be directed to the screen 290 of FIG. 12. The screen 290may include an email option 292 to enter an email and a selection option294 to select an email from a list of contacts in, for example, theuser's virtual address book. For example, if the user selects theselection option 294, the user may be prompted through a box 298 (FIG.13) to allow the application to access the user's contacts from whichthe user may select the appropriate contact. The selected or enteredemail may be associated with an approval individual in charge of thepurchase order approval process, for example. The screen 290 alsoincludes a cancel option 295 and a send request option 296. For example,the send request option 296 may send the approval individual (associatedwith the designated email) the details of the virtual shopping cart forapproval of a purchase order.

In step 208 of FIG. 2, if the approval individual has approved thepurchase order, the tool may receive a purchase order that is associatedwith the user token authorization. Further, the method of the process200 may include processing the order. The method of the process 100and/or 200 may further include selecting a checkout option by one of theuser and the purchase order approval contact prior to processing theorder. The checkout option may be based on the purchase order approvalassociated with the user token authorization. For example, in step 210,the user or approval individual may check out of the virtual shoppingcart to process the final order based on the user token authorization.For example, the user may utilize the received purchase order (and/orother processing information or payment methods) to process the finalorder in a secured virtual environment. Alternatively, the approvalindividual may utilize payment methods such as credit card informationand/or the purchase order to process the final order that is associatedwith the user token authorization. Processing the final order mayinclude entering shipping and/or billing information, preferred shippingmethod options, payment methods, and other processing information.

In embodiments, the application tools described herein may be integratedwith third party services to enhance user (i.e., customer) collaborationwith a vendor and/or manufacturer associated with the application tools.For example, the application tools may be integrated with CAD modelsoftware applications to launch 3D CAD models associated with vendorand/or manufacturer products from the application tools for the user asdescribed herein. Further, the application tools may be integrated withrobotic product monitoring and management operations to providemonitoring and notification features for an operation of toolsassociated with the robotic product, which may be a robot, as describedin greater detail further below. Thus, the application tools describedherein may be integrated with Industry 4.0 processes directed toward atrend of automation and data exchange in manufacturing technologies.

For example, a tool may be mounted onto and/or handled by the roboticproduct, and data sensors may read data provided by the robotic productsuch as tool orientation. Such data may be sent through notificationsduring tool operation to an operator for receipt and/or viewing, forexample, on a smart device that may include the application tools asdescribed herein. Moreover, the operator or user may be notified offaults in the manufacturing process by such notifications and/or alertsthat are sent and that may be based on data generated by sensors on therobot. The robot may also include live cameras to generate a live videostream viewable on the application tool. Thus, a user may monitor tooloperation during the manufacturing process, be notified that a tool isoperating correctly, be warned of a malfunctioning tool, and/or may bewarned when a tool component or part fails or the tool crashes.

Further, a system may monitor the robotic product, such as a roboticgripper, through a live camera to capture the process involving therobotic gripper and/or tools that the gripper handles, for examples.Thus, the one or more sensors may include a camera configured togenerate a live video stream viewable on the GUI of the smart device.Alerts may be generated through the camera and/or other sensors tonotify an operator or other system user, for example, when a process isgoing out of limits defined for operation and/or whether parts are notpresent when expects (for example, a sensor on a particular gripper mayno longer be sensed and may be faulty). The system may also beintegrated with on-lining access to CAD models and bill of materials, asdescribed herein, such that alerts regarding repairs for particularparts, such as a robotic gripper that has a faulty sensor, may allow fora user to order such parts or place other spare part orders with theapplication tools as described herein, for example.

Thus, selecting the product from the product inventory with respect tothe method of the process 100 and/or 200 may further include monitoringthe product through one or more sensors of a robot associated with theproduct and configured to provide notification of product fault,generating an alert notification of product fault through the robot uponproduct failure, presenting the user with a re-order alert based on thealert notification of product fault, and selecting the product upongeneration of the re-order alert automatically or by the user. Forexample, the application tool may be provided with a feature toautomatically re-order or present a user with a re-order alert withrespect to a part of component of a failing tool to limit an amount ofdowntime that may be associated with a malfunctioning tool that may nolonger be active in a manufacturing process. For example, such toolsthat are monitored by the robot as described herein may also havebarcodes etched onto their surfaces that may be read by the robot toaccess information regarding the appropriate parts necessary to order,which parts are necessary to rebuild or fix the tool and to generate anassociated bill of materials of such parts to order through theapplication tool. The bill of materials may be automatically fed intothe virtual shopping cart and the order may be processed by the userthrough the application tool as described herein. Thus, a method of theprocess 100 and/or the process 200 may include a scanning a bar codeassociated with the selected product that is etched into a surface ofthe selected product, or otherwise part of the surface of the selectedproduct, or that is placed on a surface of the selected product as anadhesive label.

The robotic product may be a robot, such as a robotic gripper to griptools during an operation product. For example, the robot may be agripper to handle plastic mold components during a plastic demoldingmanufacturing operation, though other end of arm tools (“EOAT”) orrobots capable of handling a tool are within the scope of thisdisclosure. For example, vacuum cups providing a suction to handlecomponents and/or gripper fingers utilizing pneumatics may be used.

Referring to FIG. 14, a system 300 for implementing a computer andsoftware-based method to utilize the virtual inventory management tools,as shown in FIGS. 1 and 2, is illustrated as being implemented alongwith using a graphical user interface (GUI) displaying, for example, asmart device application. The application may be associated with avendor or manufacturer website as described herein and accessible at auser workstation (e.g., a computing device such as a mobile smart device324), for example. The system 300 includes a communication path 302, oneor more processors 304, a memory component 306, a product scan optioncomponent 312 to scan, for example, the physical product 332 with theassociated bar code scanner feature 330, a storage or database 314, avirtual shopping cart component 316, a virtual toolbox component 317, anetwork interface hardware 318, a network 322, a server 320, and atleast one smart device 324. In embodiments, the memory component 306and/or the storage or database 314 store a user token authorization 301,which is described in greater detail below with respect to FIG. 15. Thevarious components of the system 300 and the interaction thereof will bedescribed in detail below.

While only one application server 320 and one user workstation smartdevice 324 is illustrated, the system 300 can include multipleworkstations and application servers containing one or more applicationsthat can be located at geographically diverse locations across aplurality of industrial sites. In some embodiments, the system 300 isimplemented using a wide area network (WAN) or network 322, such as anintranet or the Internet. The smart device 324 may include digitalsystems and other devices permitting connection to and navigation of thenetwork. Other system 300 variations allowing for communication betweenvarious geographically diverse components are possible. The linesdepicted in FIG. 14 indicate communication rather than physicalconnections between the various components.

As noted above, the system 300 includes the communication path 302. Thecommunication path 302 may be formed from any medium that is capable oftransmitting a signal such as, for example, conductive wires, conductivetraces, optical waveguides, or the like, or from a combination ofmediums capable of transmitting signals. The communication path 302communicatively couples the various components of the system 300. Asused herein, the term “communicatively coupled” means that coupledcomponents are capable of exchanging data signals with one another suchas, for example, electrical signals via conductive medium,electromagnetic signals via air, optical signals via optical waveguides,and the like.

As noted above, the system 300 includes the processor 304. The processor304 can be any device capable of executing machine readableinstructions. Accordingly, the processor 304 may be a controller, anintegrated circuit, a microchip, a computer, or any other computingdevice. The processor 304 is communicatively coupled to the othercomponents of the system 300 by the communication path 302. Accordingly,the communication path 302 may communicatively couple any number ofprocessors with one another, and allow the modules coupled to thecommunication path 302 to operate in a distributed computingenvironment. Specifically, each of the modules can operate as a nodethat may send and/or receive data.

As noted above, the system 300 includes the memory component 306 whichis coupled to the communication path 302 and communicatively coupled tothe processor 304. The memory component 306 may be a non-transitorycomputer readable medium or non-transitory computer readable memory andmay be configured as a nonvolatile or volatile computer readable medium.The memory component 306 may comprise RAM, ROM, flash memories, harddrives, or any device capable of storing machine readable instructionssuch that the machine readable instructions can be accessed and executedby the processor 304. The machine readable instructions may compriselogic or algorithm(s) written in any programming language such as, forexample, machine language that may be directly executed by theprocessor, or assembly language, object-oriented programming (OOP),scripting languages, microcode, etc., that may be compiled or assembledinto machine readable instructions and stored on the memory component306. Alternatively, the machine readable instructions may be written ina hardware description language (HDL), such as logic implemented viaeither a field-programmable gate array (FPGA) configuration or anapplication-specific integrated circuit (ASIC), or their equivalents.Accordingly, the methods described herein may be implemented in anyconventional computer programming language, as pre-programmed hardwareelements, or as a combination of hardware and software components. Inembodiments, the system 300 may include the processor 360communicatively coupled to the memory component 306 that storesinstructions that, when executed by the processor 360, cause theprocessor to perform one or more tool functions as described herein.

Still referring to FIG. 14, as noted above, the system 300 comprises thedisplay such as a GUI on a screen of the smart device 324 for providingvisual output such as, for example, information, the user interactivescreen shot views as described above, graphical reports, messages,alerts, or a combination thereof. The GUI may present a vendor ormanufacturer application tool for use on a mobile smart device such as asmart phone or tablet, for example, as described herein, which tool mayutilize the product scan option component 312. For example, the productscan option component 312 may include and be associated with a smartdevice image scanner to read an image and/or a barcode scanner orbarcode reader to read a barcode associated with a product that includesa machine-readable representation of product data.

The display on the screen of the smart device 324 is coupled to thecommunication path 302 and communicatively coupled to the processor 304.

Accordingly, the communication path 302 communicatively couples thedisplay to other modules of the system 300. The display can include anymedium capable of transmitting an optical output such as, for example, acathode ray tube, light emitting diodes, a liquid crystal display, aplasma display, or the like. Additionally, it is noted that the displayor the smart device 324 can include at least one of the processor 304and the memory component 306. While the system 300 is illustrated as asingle, integrated system in FIG. 14, in other embodiments, the systemscan be independent systems.

The system 300 comprises the virtual shopping cart component 316 and thevirtual toolbox component 317 that allows a user to view and/or modifyone or more selected orders to process to virtually manage inventoryassociated with one or more products to order from a vendor and/ormanufacturer through a centralized system associated with and launchablefrom an application on a user's smart device. The virtual shopping cartcomponent 316 and the virtual toolbox component 317 are coupled to thecommunication path 302 and communicatively coupled to the processor 304.As will be described in further detail below, the processor 304 mayprocess the input signals received from the system modules and/orextract information from such signals.

The system 300 includes the network interface hardware 318 forcommunicatively coupling the system 300 with a computer network such asnetwork 322. The network interface hardware 318 is coupled to thecommunication path 302 such that the communication path 302communicatively couples the network interface hardware 318 to othermodules of the system 300. The network interface hardware 318 can be anydevice capable of transmitting and/or receiving data via a wirelessnetwork. Accordingly, the network interface hardware 318 can include acommunication transceiver for sending and/or receiving data according toany wireless communication standard. For example, the network interfacehardware 318 can include a chipset (e.g., antenna, processors, machinereadable instructions, etc.) to communicate over wired and/or wirelesscomputer networks such as, for example, wireless fidelity (Wi-Fi),WiMax, Bluetooth, IrDA, Wireless USB, Z-Wave, ZigBee, or the like.

Still referring to FIG. 14, data from various applications running onthe smart device 324 can be provided from the smart device 324 to thesystem 300 via the network interface hardware 318. The smart device 324can be any device having hardware (e.g., chipsets, processors, memory,etc.) for communicatively coupling with the network interface hardware318 and a network 322. Specifically, the smart device 324 can include aninput device having an antenna for communicating over one or more of thewireless computer networks described above.

The network 322 can include any wired and/or wireless network such as,for example, wide area networks, metropolitan area networks, theInternet, an Intranet, satellite networks, or the like. Accordingly, thenetwork 322 can be utilized as a wireless access point by the smartdevice 324 to access one or more servers (e.g., a server 320). Theserver 320 and any additional servers generally include processors,memory, and chipset for delivering resources via the network 322.Resources can include providing, for example, processing, storage,software, and information from the server 320 to the system 300 via thenetwork 322. Additionally, it is noted that the server 320 and anyadditional servers can share resources with one another over the network322 such as, for example, via the wired portion of the network, thewireless portion of the network, or combinations thereof

FIG. 15 is a flow chart 400 of a process for managing a user tokenauthorization 301 for virtual inventory management. For example, in step402, a user logins from a client device such as a smart device 324 torequest access to the application as described herein, for example. Instep 404, an application server such as the server 320 validates thelogin and, if validated, provides the user with a user tokenauthorization 301. The user token authorization 301 may be utilized asdescribed above with respect to the described user token authorizationsand processes 100 and 200 of FIGS. 1 and 2. In step 406, the clientdevice stores the user token authorization 301 to allow for a statelessstorage methodology such that user information is not stored on theserver 320 or in a session (e.g., a record of each time a user isauthenticated). Alternatively, the server 320 or a session may store theuser token authorization 301 through a state storage methodology.

In step 408, the client device (e.g., the smart device 324) sends theuser token authorization 301 in a header to the server 320 with eachrequest for, for example, data from the server 320. In embodiments, aJSON web token (“JWT”) standard may be used across multiple programminglanguages, such as JavaScript, Haskell, PHP, Java, and the like. Forexample, the user token authorization 301 may be used in a URL, POSTparameter, and HTTP header and sent to the server 320 (or to, asdescribed below, a permitted third party). Thus, the API of anapplication tool as described herein allows for a quick and scalableauthentication by passing information through the user tokenauthorization 301. JWTs further are self-contained, including necessarydata and transmitting such data about the JWT (such as through aheader), a payload including user information and other token orientedinformation, and a signature that is, for example, a secret signatureheld by the server 320 so that the server 320 may verify existing tokensand sign new ones. In embodiments, the server 320 may also delete tokensand/or modify tokens. Alternatively or additionally, the client devicemay control, modify, and/or store data associated with the user tokenauthorization 301 as described herein.

In step 410, the server 320 verifies the user token authorization 301.Upon verification, in step 412, the server 320 responds to the clientdevice (e.g., the smart device 324) with the requested user data that isassociated with the user token authorization 301.

In step 414, the client device sends the user token authorization 301 toa third party application as a permission-based token to allow access tothe user data associated with the user token authorization 301. Forexample, through step 414, the process 200 of FIG. 2 may be followedsuch that a third-party purchase order approval individual may receivethe user token authorization 301 and associated user data as describedherein to allow the individual to either return a purchase order to theuser of the user token authorization 301 and/or to checkout on behalf ofthe user.

The application tools described herein thus allow a user to access acentralized mobile platform to virtually manage inventory. The inventorymay be managed directly from a location of one or more products to beordered. The application tools allow authenticated users to search forvendor and/or manufacturer products, browse an associated online productcatalog, virtually manage inventory through use of a virtual toolboxcomponent within an application on a smart device, add products to orderto a virtual shopping cart on the application, and submit orderssecurely through the vendor and/or manufacturer's mobile website. Theuser may also utilize a barcode scanner to scan cabinets and/or productbags that include barcodes, which will automatically link to theproducts to order within the application tool (which products mayalready be in the user's virtual toolbox, for example). The virtualtoolbox may allow the user to set maximum stock levels for the user'sinventory such that the tool may recommend to the user a quantity toorder when the user places a product order as described above. The usermay also be provided with current inventory stock levels at the vendorand/or manufacturer of the products to manage the user's inventory inaccordance with the inventory existing at the vendor and/ormanufacturer. Further, robotic monitoring through one or more sensorscommunicatively coupled to the application tools described herein mayallow for alerts regarding and re-ordering of monitored products on, forexample, a tool assembly line. The features of the application toolsdescribed herein are specific elements other than what iswell-understood, routine, and conventional in the field. The features ofthe application tools described herein are rather directed towardelements that confine the claims to a particular useful application orare otherwise meaningful elements beyond a general linking of a use of ajudicial exception to a particular technological environment. Thefeatures of the application tools described herein are directed towardelements that are significantly more than an attempt to patent just amethod or device to monitor inventory. As such, the features cannot beinterpreted as covering any and all forms of monitoring inventory and,thus, do not preempt usage of the concepts described herein in allfields.

It is noted that recitations herein of a component of the presentdisclosure being “configured” or “programmed” in a particular way, toembody a particular property, or to function in a particular manner, arestructural recitations, as opposed to recitations of intended use. Morespecifically, the references herein to the manner in which a componentis “configured” or “programmed” denotes an existing physical conditionof the component and, as such, is to be taken as a definite recitationof the structural characteristics of the component.

Itis noted that the terms “substantially” and “about” and“approximately” may be utilized herein to represent the inherent degreeof uncertainty that may be attributed to any quantitative comparison,value, measurement, or other representation. These terms are alsoutilized herein to represent the degree by which a quantitativerepresentation may vary from a stated reference without resulting in achange in the basic function of the subject matter at issue.

While particular embodiments have been illustrated and described herein,it should be understood that various other changes and modifications maybe made without departing from the spirit and scope of the claimedsubject matter. Moreover, although various aspects of the claimedsubject matter have been described herein, such aspects need not beutilized in combination. It is therefore intended that the appendedclaims cover all such changes and modifications that are within thescope of the claimed subject matter.

What is claimed is:
 1. A method for virtually managing a productinventory from an application on a smart device, the method comprising:receiving a login to the application on a graphical user interface (GUI)of the smart device by a user, wherein the application includes avirtual toolbox; receiving a user token authorization based on thelogin; selecting a product from a list of products to generate aselected product associated with the user token authorization, whereinthe list of products is presented via the virtual toolbox, the list ofproducts generated by at least one of: a product search option in thevirtual toolbox, the virtual toolbox configured to store one or moreproducts from the product inventory; an online catalog option via thevirtual toolbox; or a bar code scanning feature of the virtual toolboxconfigured to scan a bar code of an associated product; adding an orderquantity of the selected product associated with the user tokenauthorization to a virtual shopping cart as an order, wherein the orderquantity is based at least in part on a maximum stock level; wherein thevirtual shopping cart is configured for integration with the virtualtoolbox such that selection of the selected product from the virtualtoolbox is configured to generate an option to auto-populate the virtualshopping cart with the selected product; and processing the order. 2.The method of claim 1, further comprising: receiving detail of a currentinventory level associated with the selected product; and generating arecommended order quantity as the order quantity based on the maximumstock level and the current inventory level.
 3. The method of claim 2,wherein the maximum stock level associated with the selected product isconfigured to be input by a user.
 4. The method of claim 2, wherein themaximum stock level associated with the selected product is configuredto be retrieved from storage in a memory of the smart device.
 5. Themethod of claim 2, wherein the current inventory level associated withthe selected product is configured to be input by a user.
 6. The methodof claim 2, wherein the current inventory level associated with theselected product is configured to be retrieved from storage in a memoryof the smart device.
 7. The method of claim 1, further comprising:adding the selected product to the virtual toolbox of the applicationwhen the selected product is not found within the virtual toolbox. 8.The method of claim 1, further comprising: selecting a checkout optionprior to processing the order.
 9. The method of claim 1, furthercomprising: selecting a purchase order approval option to receive apurchase order approval prior to processing the order.
 10. The method ofclaim 9, further comprising: selecting a purchase order approvalcontact; sending a purchase order approval request to the purchase orderapproval contact; receiving the purchase order approval associated withthe user token authorization from the purchase order approval contact.11. The method of claim 10, further comprising: selecting a checkoutoption by one of the user and the purchase order approval contact priorto processing the order, wherein the checkout option is based on thepurchase order approval associated with the user token authorization.12. The method of claim 1, further comprising: selecting an option toreceive detail of the selected product on the GUI, wherein the detailcomprises at least one of a product name, a product part number, aproduct image, and a product price; and displaying the at least one of aproduct name, a product part number, a product image, and a productprice via the virtual toolbox on the smart device.
 13. The method ofclaim 1, further comprising: displaying a usage history of the selectedproduct in the virtual toolbox.
 14. The method of claim 1, furthercomprising: displaying a 3D model of the selected product in the virtualtoolbox.
 15. The method of claim 1, further comprising: adding theselected product to the virtual toolbox of the application when theselected product is not found within the virtual toolbox.
 16. The methodof claim 1, wherein the bar code associated with the product is etchedinto a surface of the selected product.
 17. The method of claim 1,wherein the bar code associated with the product is placed on a surfaceof the selected product as an adhesive label.
 18. A system for virtuallymanaging a product inventory from an application on a mobile smartdevice, the system comprising: a server; and the mobile smart devicecomprising: a processor communicatively coupled to the server; and anon-transitory computer-readable memory storing instructions that, whenexecuted by the processor and through the application, cause theprocessor to: receive a login to the application on a graphical userinterface (GUI) of the smart device by a user, wherein the applicationincludes a virtual toolbox; receive a user token authorization based onthe login; select a product from a list of products to generate aselected product associated with the user token authorization, whereinthe list of products is presented via the virtual toolbox, the list ofproducts generated by at least one of: a product search option in thevirtual toolbox, the virtual toolbox configured to store one or moreproducts from the product inventory; an online catalog option via thevirtual toolbox; or a bar code scanning feature of the virtual toolboxconfigured to scan a bar code of an associated product; add an orderquantity of the selected product associated with the user tokenauthorization to a virtual shopping cart as an order, wherein the orderquantity is based at least in part on a maximum stock level; wherein thevirtual shopping cart is configured for integration with the virtualtoolbox such that selection of the selected product from the virtualtoolbox is configured to generate an option to auto-populate the virtualshopping cart with the selected product; and process the order.
 19. Thesystem of claim 18, further comprising instructions that cause theprocessor to: receive detail of a current inventory level associatedwith the selected product; and generate a recommended order quantity asthe order quantity based on the maximum stock level and the currentinventory level.
 20. The system of claim 18, wherein the currentinventory level associated with the selected product is configured to beinput by a user.